package main

import (
	"bytes"
	"fmt"
	"io"
	"strings"
)

func main() {
	r := strings.NewReader("some io.Reader stream to be read\n")

	//MultiWriter 创建一个写入器，将其写入复制到所有提供的写入器，类似于 Unix tee(1) 命令。
	//
	//每次写入都会写入每个列出的写入器，一次一个。 如果列出的写入器返回错误，则整个写入操作将停止并返回错误； 它不会在列表中继续向下。
	var buf1, buf2 bytes.Buffer

	w := io.MultiWriter(&buf1, &buf2)

	io.Copy(w, r)
	fmt.Print(buf1.String(), buf2.String())
}
